The Global Positioning System (GPS) is a radio navigation system comprised of a constellation of earth-orbiting satellites, each of which transmits a separate signal. The satellite signals carry information that allows GPS receivers to compute satellite positions in real time, and also to measure the time required for signals to travel from each satellite to the receiver. By setting up and solving appropriate systems of simultaneous equations, GPS receivers combine such measurements from several satellites to obtain good estimates of the receiver position, velocity, and time.
GPS receiver accuracy is affected by measurement noise. Some noise sources are natural and some are artificial. Natural noise sources include ionospheric and tropospheric signal delays and refraction, receiver thermal noise, multipath effects, and unmodelled satellite orbital perturbations. Artificial noise sources include the effect of Selective Availability, which is the intentional dithering of GPS signals to degrade the positioning accuracy obtained by nonmilitary users.
Most of the GPS measurement noise sources affect all receivers in the same way. The effect of such common-mode errors can be removed by measuring the errors with a specially constructed GPS receiver at a precisely surveyed location, and providing the resulting "differential corrections" to other GPS receivers which are operating nearby. Using this method, real-time GPS positioning accuracy can be improved from 100 meters to 3 meters or even better.
Differential GPS (DGPS) corrections are provided as a public service in many areas of the world by government-sponsored MSK beacon broadcasts in the 283.5-325.0 kHz radio location band. GPS users which incorporate differential corrections from MSK beacons are therefore required to receive and process two very different types of radio signals: spread spectrum GPS in the UHF band and MSK beacon broadcasts in the medium frequency (MF) band.
There are alternative means by which differential corrections may be conveyed from a reference receiver. These include VHF and UHF radio modems, satellite broadcasts, and other forms of telecommunication. These alternative methods for distributing differential corrections will not be discussed here.
Current DGPS receiver systems employ functionally separate receiver subsystems to process the GPS satellite and MSK beacon signals. This is so because the satellite signals and the beacon signals have different processing requirements. In particular, the satellite signal is a BPSK (binary phase shift keyed) signal encoded with a pseudorandom noise (PRN) code and transmitted on an L-Band carrier frequency of 1575.42 megahertz (MHz). In contrast, the beacon signal is an uncoded MSK (minimum shift keyed) signal transmitted on a carrier frequency in the band of 283.5 to 325.0 kilohertz (kHz). This band is divided into channels separated into 500 Hz steps. Further, the satellite data is transmitted at 50 data bits per second (bps), whereas the beacon data is transmitted at 25, 50, 100, or 200 bps.
Separate RF subsystems are required for processing the two types of signals. An RF subsystem typically comprises an antenna, a pre-selection filter and a low noise amplifier followed by frequency conversion and/or bandpass filtering stages. The pre-selection filter is designed to reject unwanted signals outside the band. The low noise amplifier amplifies the incoming signal. Typically, the received signal is converted to an intermediate frequency (IF) by mixing it with a local oscillator (LO) signal. The LO frequency is chosen to be the difference between the carrier frequency of the incoming signal and the desired intermediate frequency (IF). Depending on the implementations, several such frequency conversion steps may occur. The IF is filtered by a bandpass filter and input to an analog-to-digital (A/D) converter. The A/D converter comprises a system for sampling the signal and quantizing it to an appropriate number of binary digits. The output of the RF subsystem is further processed by the receiver subsystem.
A GPS receiver subsystem contains one or more correlator channels for processing the signals of multiple satellites. Each channel is identical in its operation and all of them are controlled by a microprocessor in the GPS receiver subsystem. A GPS correlator channel typically comprises a complex mixer, a digitally controlled oscillator (DCO) for generating a reference carrier (carrier DCO), and a correlator. The correlator comprises a code generator for generating a PRN code, a code DCO, and code mixers for mixing the incoming signal with the PRN code, and accumulators for accumulating the output of the code mixers. The incoming signal from the RF subsystem is input into the complex mixer. The complex mixer mixes the incoming signal with a reference carrier generated by the carrier DCO. The reference carrier is also phase shifted by 90 degrees and separately mixed with the incoming signal. This produces two signals: one in phase with the reference carrier (the I signal), and one in quadrature with the reference carrier (the Q signal). The reference carrier frequency is adjusted to be equal to the IF of the input signal so that the I and Q signals are at baseband. In an alternative configuration, the RF subsystem would comprise a complex mixer to produce I and Q signals at an intermediate frequency. The GPS receiver would then be configured to separately mix the intermediate frequency I and Q signals with the reference carrier, without introducing the 90.degree. phase shift.
The I and Q signals are then correlated with a PRN code generated by the code generator. The code generator of a GPS receiver channel typically is capable of generating various types of PRN codes such as C/A, GLONASS, WAAS, pseudolite, P, Y, and Inmarsat. Each type of PRN code is comprised of finite duration sequences. The particular sequence generated by the code generator is controlled by the GPS receiver processor. The duration of the sequence, called the epoch, and the rate at which the PRN code bits are generated, called the chipping rate, are controlled by the code DCO. In particular, the epoch of the C/A code is one millisecond, and the chipping rate is 1.023 Mhz.
The correlation process comprises mixing the incoming signal with the generated code and accumulating the result over the duration of an epoch. At the end of the epoch, the accumulation is dumped to output the result. This accumulate-and-dump process occurs over each epoch. Epoch accumulations are then combined to form data bit detection integrals, so that the data stream can be recovered by the detector and decoder.
The PRN codes generated by the code generator have the characteristic that the correlation of two identical code sequences is a relatively high maximum value when there is no time delay between the two sequences. The correlation value falls to a relatively low value rapidly as the time delay between the sequences increases. In contrast, the correlation of two different code sequences is always a relatively low value. If a sequence impressed on an information bearing signal is the same sequence generated by the code generator, and if the time delay between the sequences is very small, the output signal from the correlator at the end of each epoch will be nearly equal to the average value of the information bearing signal during the epoch in which the correlation occurred. If this condition is maintained, the correlation process will reconstruct the unencoded signal and the PRN code will be removed from the signal. Conversely, if the sequence impressed on the incoming signal is not the same sequence generated by the code generator, or if a significant delay between the sequences exists, the output from the correlator will be nearly zero, and the signal information will be lost.
The purpose of the correlation process, which is called de-spreading, is to remove the PRN code from the incoming signal and to differentiate between the signal from one satellite and the signals from all the other satellites. Each channel of the GPS receiver used to receive satellite information receives a composite signal comprised of the transmissions from many satellites. However, each satellite transmits a different PRN code. By correlating the composite signal with a code sequence that replicates the code sequence transmitted by a particular satellite, a correlator channel is able to select the signal of one satellite and reject all others. Since each channel contains its own code generator and code DCO, each channel can process the signal from a different satellite.
The signals from each channel are then decoded and combined to solve a system of equations to determine receiver position and precise time. This solution is typically accomplished by a recursive algorithm such as a Kalman filter in the GPS receiver processor.
In conventional DGPS, a separate MSK receiver subsystem processes the MSK signal from the local beacon. An MSK signal is one in which binary data is impressed upon the carrier by a discrete shift in frequency above or below the center frequency according to whether the data bit of the transmitted signal information is high or low. A high bit shifting the frequency up would cause the MSK signal to advance in phase, whereas a low bit shifting the frequency down would cause the MSK signal to retard in phase relative to the center frequency. These frequency shifts are caused to occur without any discontinuity in phase. The separation between the upper and lower sideband frequencies is one half the data bit rate. Consequently, the phase shift occurring during an interval of one data bit is 90 degrees.
It is important to note that only the upper and lower data sideband frequencies are actually transmitted in an MSK broadcast. The center frequency itself is not transmitted and is thus a suppressed carrier. Since the information content of an MSK signal can be expressed in terms of phase movement of the signal with respect to the suppressed carrier, it is sometimes convenient (but not always necessary) to explicitly reconstruct the suppressed carrier in the receiver.
A variety of coherent demodulation schemes for MSK signals have been developed. These methods differ substantially from the GPS demodulation scheme because of the different characteristics of the two types of signals. Thus, a separate MSK receiver channel is typically used in a differential GPS receiver for processing the MSK signal. This substantially increases the cost and complexity of a DGPS receiver when compared to a non-differential GPS receiver.
As previously noted, modern GPS receivers have multiple correlator channels to simultaneously demodulate data from multiple satellites. This is done because the GPS receiver position solution improves with an increase in the number of satellites used to supply satellite position data. However, not all of the channels available in a typical GPS receiver are always needed to compute the GPS solution. Thus, if a method could be developed to utilize one or more of the extra GPS receiver channels to process the MSK beacon signal, the separate MSK subsystem could be eliminated and its functions incorporated into the GPS receiver subsystem. This would result in a substantial reduction of system cost and complexity. Thus, a need exists for a method and apparatus for processing MSK signals in the correlator channels of a GPS receiver.